1. Field of the Invention
The present invention relates to a method for drive-controlling a stepping motor, and more particularly to a control method of controlling a stepping motor suitable for driving a stepping motor with means of ramp up or down etc. or for constant-speed drive at a plurality of speeds.
2. Related Background Art
Stepping motors have widely been used recently as a drive source for industrial devices because of their excellent positioning accuracy of rotation. Particularly, they are popularly used as a driving motor in business machines for use in the office, i.e., in so-called OA (office automation) devices.
The constant-voltage drive is a typical example of the drive method of such stepping motors. This method is widely used because its circuit structure is simplest and inexpensive. With an increase in the drive frequency thereof the method, however, becomes affected by the inductance of the motor winding of the motor so as to delay the current rise of motor winding, decreasing a the torque generated during high-speed rotation, and inhibiting high-speed rotation.
In contrast, the constant-current drive method is known as a drive method supporting high-speed rotation of the motor. This drive method is a method in which a voltage for keeping the time constant of the motor winding small is applied, a current flowing in the motor winding is detected in the form of the winding inductance, and the current is switched on and off through a switching device of a transistor so as to keep the current constant at a set value. However, this circuit is complicated and expensive though it achieves the high-speed rotation. Further, in the case of stepping motors, motor vibration occurs during changeover of the drive and noise is generated when the rotation speed is changed while keeping the current value constant, which requires that the current be changed to a value suitable for each rotational speed, thus necessitating an additional circuit therefor.
Still another driving method, known as an advanced drive method, is a control method comprising the steps of attaching an encoder having an accuracy above the resolution of the motor to a shaft of the motor, changing over the phases of the motor in synchronization with a motion of the motor, based on the detection information from the encoder, and determining the rotation speed in such a manner that the speed is changed by a duty ratio while chopping the voltage or current. According to this method, proper changeover of phases can be done even if the rotation speed of motor changes. Thus, this method can avoid the so-called out-of-step state. Further, the rotation frequency becomes one according to the power to the winding, thereby suppressing the generation of noise. However, the number of circuit parts including the encoder of the motor is large, thereby increasing the cost of the motor.
Moreover, because the changeover of excitation of the motor is carried out on a digital basis in constant-voltage control for applying a constant voltage to the winding of the motor, in the constant-current method by the current detection of winding, inductance and the closed loop control as described above, the current applied to the motor winding becomes nearly rectangular, thereby tending to generate vibration or noise.
Thus, an attempt has been made to develop a method to change the amplitude of the phase current so that the current applied to the motor winding did not become rectangular, thereby applying a current in the form, for example of a sinusoidal wave.
Specifically, the stepping motor drive method suggested in U.S. Ser. No. 08/099007 is such an arrangement that one excitation period of the motor is split into a plurality of sections of a preset number by pulse generating means which can set a duty ratio by firmware in order to control the power supplied to the winding of the motor, and such that the amount of power supplied to the winding of the motor, i.e., the pulse duty is preliminarily set by a program in the firmware so as to perform motor control in an open loop, whereby efficient driving can be performed while supplying the power as needed for operation of the motor. Applying this method, another stepping motor drive method is also suggested. In this method driving of the motor is performed with a plurality of sections preliminarily set in one excitation period and the amount of power supplied to the winding, i.e., the pulse duty is set nearly in a sinusoidal shape or the pulse duty is changed for every mode of stopping of the motor holding one state of the motor, ramping up or down of the motor, or constant-speed running of the motor.
In the drive method where the amount of power supplied to the winding of the motor is set nearly in a sinusoidal wave shape with a plurality of sections preliminarily set in one excitation period, the current flowing in the motor is detected by current detecting means similar to that in the above-described constant-current control method and the current is controlled to be a value set within each range of a section in the plurality of sections split in the above preset split number. The same operational effect can also be attained by the closed loop control.
There is also a drive method called through up control, in which the stepping motor is started at a low pulse rate in a self-starting frequency region, and a great acceleration curve is achieved upon a start of an increase in the pulse rate at an appropriate timing while accelerating a load and a rotor, whereby the load is accelerated up to a high-speed pulse rate of constant speed. In this case, when the method of splitting the one excitation period into a plurality of sections of the preset split number as described above is used, if the split number is arranged as to be appropriate to high-speed pulse rates, a smooth sinusoidal wave cannot be attained at low-speed pulse rates, thereby generating vibration and noise.
For example, when the split number is four in the driving of the motor during ramp up from 100 PPS (changeover cycle of phase excitation: 10 ms) to 1000 PPS (changeover cycle of phase excitation: 1 ms) as shown in FIG. 6, the period of splitting is 1 ms.div.4=0.25 ms for 1000 PPS or 1 ms of changeover cycle of the phase excitation as shown in FIG. 6.
FIG. 7 shows a PWM duty cycle and a phase current curve for 1000 PPS. The drawing shows a current setting value in each section. Since the winding of motor has an electric resistance component and an inductance component, the current actually flowing in the winding becomes a smooth sinusoidal wave as shown in FIG. 7 upon drive in such a setting.
In contrast, the cycle of splitting is 10 ms.div.4=2.5 ms for 100 PPS or 10 ms of the changeover period of phase excitation as shown in FIG. 8. In this case, because of the long split period, the current flows through even if the winding of motor has the electric resistance component and inductance component, thereby failing to attain a smooth sinusoidal wave.
If the split number is set for example to 40 in order to make the current curve smooth in the low-speed region near 100 PPS, the split cycle becomes 10 ms.div.40 =0.25 ms for 100 PPS or 10 ms of the changeover period of phase excitation, which is enough to obtain a smooth current waveform; whereas, the split cycle becomes 1 ms.div.40=0.025 ms for 1000 PPS, or 1 ms of the changeover cycle of phase excitation, thereby increasing the load on the hardware or the software control.